home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / sun / awt / Symbol$Encoder.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  3.3 KB  |  82 lines

  1. package sun.awt;
  2.  
  3. import java.nio.ByteBuffer;
  4. import java.nio.CharBuffer;
  5. import java.nio.charset.Charset;
  6. import java.nio.charset.CharsetEncoder;
  7. import java.nio.charset.CoderResult;
  8.  
  9. class Symbol$Encoder extends CharsetEncoder {
  10.    private static byte[] table_math = new byte[]{34, 0, 100, 36, 0, -58, 68, -47, -50, -49, 0, 0, 0, 39, 0, 80, 0, -27, 45, 0, 0, -92, 0, 42, -80, -73, -42, 0, 0, -75, -91, 0, 0, 0, 0, -67, 0, 0, 0, -39, -38, -57, -56, -14, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, -69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -71, -70, 0, 0, -93, -77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -52, -55, -53, 0, -51, -54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -59, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -32, -41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -68};
  11.    private static byte[] table_greek = new byte[]{65, 66, 71, 68, 69, 90, 72, 81, 73, 75, 76, 77, 78, 88, 79, 80, 82, 0, 83, 84, 85, 70, 67, 89, 87, 0, 0, 0, 0, 0, 0, 0, 97, 98, 103, 100, 101, 122, 104, 113, 105, 107, 108, 109, 110, 120, 111, 112, 114, 86, 115, 116, 117, 102, 99, 121, 119, 0, 0, 0, 0, 0, 0, 0, 74, -95, 0, 0, 106, 118};
  12.    // $FF: synthetic field
  13.    static final boolean $assertionsDisabled = !Symbol.class.desiredAssertionStatus();
  14.  
  15.    public Symbol$Encoder(Charset var1) {
  16.       super(var1, 1.0F, 1.0F);
  17.    }
  18.  
  19.    public boolean canEncode(char var1) {
  20.       if (var1 >= 8704 && var1 <= 8943) {
  21.          if (table_math[var1 - 8704] != 0) {
  22.             return true;
  23.          }
  24.       } else if (var1 >= 913 && var1 <= 982 && table_greek[var1 - 913] != 0) {
  25.          return true;
  26.       }
  27.  
  28.       return false;
  29.    }
  30.  
  31.    protected CoderResult encodeLoop(CharBuffer var1, ByteBuffer var2) {
  32.       char[] var3 = var1.array();
  33.       int var4 = var1.arrayOffset() + var1.position();
  34.       int var5 = var1.arrayOffset() + var1.limit();
  35.       if (!$assertionsDisabled && var4 > var5) {
  36.          throw new AssertionError();
  37.       } else {
  38.          var4 = var4 <= var5 ? var4 : var5;
  39.          byte[] var6 = var2.array();
  40.          int var7 = var2.arrayOffset() + var2.position();
  41.          int var8 = var2.arrayOffset() + var2.limit();
  42.          if (!$assertionsDisabled && var7 > var8) {
  43.             throw new AssertionError();
  44.          } else {
  45.             var7 = var7 <= var8 ? var7 : var8;
  46.  
  47.             try {
  48.                while(var4 < var5) {
  49.                   char var9 = var3[var4];
  50.                   if (var8 - var7 < 1) {
  51.                      CoderResult var17 = CoderResult.OVERFLOW;
  52.                      return var17;
  53.                   }
  54.  
  55.                   if (!this.canEncode(var9)) {
  56.                      CoderResult var10 = CoderResult.unmappableForLength(1);
  57.                      return var10;
  58.                   }
  59.  
  60.                   ++var4;
  61.                   if (var9 >= 8704 && var9 <= 8943) {
  62.                      var6[var7++] = table_math[var9 - 8704];
  63.                   } else if (var9 >= 913 && var9 <= 982) {
  64.                      var6[var7++] = table_greek[var9 - 913];
  65.                   }
  66.                }
  67.  
  68.                CoderResult var16 = CoderResult.UNDERFLOW;
  69.                return var16;
  70.             } finally {
  71.                var1.position(var4 - var1.arrayOffset());
  72.                var2.position(var7 - var2.arrayOffset());
  73.             }
  74.          }
  75.       }
  76.    }
  77.  
  78.    public boolean isLegalReplacement(byte[] var1) {
  79.       return true;
  80.    }
  81. }
  82.